Data centers—including virtualized data centers—are a core foundation of the modern information technology (IT) infrastructure. Virtualization provides several advantages. One advantage is that virtualization can provide significant improvements to efficiency, as physical machines have become sufficiently powerful with the advent of multicore architectures with a large number of cores per physical CPU. Further, memory has become extremely cheap today. Thus, one can consolidate a large number of virtual machines on to one physical machine. A second advantage is that virtualization provides significant control over the infrastructure. As computing resources become fungible resources, such as in the cloud model, provisioning and management of the compute infrastructure becomes easier. Thus, enterprise IT staff prefer virtualized clusters in data centers for their management advantages in addition to the efficiency and better return on investment (ROI) that virtualization provides.
Various kinds of virtual machines exist, each with different functions. System virtual machines (also known as full virtualization VMs) provide a complete substitute for the targeted real machine and a level of functionality required for the execution of a complete operating system. A hypervisor uses native execution to share and manage hardware, allowing multiple different environments, isolated from each other, to be executed on the same physical machine. Modern hypervisors use hardware-assisted virtualization, which provides efficient and full virtualization by using virtualization-specific hardware capabilities, primarily from the host CPUs. Process virtual machines are designed to execute a single computer program by providing an abstracted and platform-independent program execution environment. Some virtual machines are designed to also emulate different architectures and allow execution of software applications and operating systems written for another CPU or architecture. Operating-system-level virtualization allows the resources of a computer to be partitioned via the kernel's support for multiple isolated user space instances, which are usually called containers and may look and feel like real machines to the end users.
The present invention relates to systems and methods for cloud infrastructure policy implementation and management in order to allow real-time monitoring and optimization of virtualized resources.